package com.gjy.kafka.resolve.example;

import com.gjy.kafka.resolve.producer.IdempotentProducer;

/**
 * 只要 acks=all + enable.idempotence=true，即使网络抖动、leader 重选，
 * 相同的 (key, sequence) 只会写一次，从而实现 不丢失 + 不重复写入。
 *
 * @author gjy
 * @version 1.0
 * @since 2025-10-13 15:20:14
 */
public class IdempotentDemo {

    public static void main(String[] args) {
        try (IdempotentProducer producer = new IdempotentProducer()) {
            for (int i = 0; i < 5; i++) {
                String key = "order-" + i;
                String value = "{\"orderId\":\"" + i + "\",\"price\":100}";
                producer.sendSync("orders", key, value);
            }
        }
    }

}
